package texteditor

import "fmt"

// TextEditor 原发器
type TextEditor struct {
	content string
}

// Write 写入文本
func (te *TextEditor) Write(text string) {
	te.content += text
}

// Save 保存状态
func (te *TextEditor) Save() Memento {
	return NewTextMemento(te.content)
}

// Restore 恢复状态
func (te *TextEditor) Restore(memento Memento) {
	tm, ok := memento.(*TextMemento)
	if !ok {
		panic("无法恢复文本编辑器状态")
	}
	te.content = tm.GetContent()
}

// Show 显示内容
func (te *TextEditor) Show() {
	fmt.Println("当前文本内容:", te.content)
}
